import mitt from 'mitt';

/**
 * 定义一个类型别名，用于规范事件的名称和载荷 (Payload)
 * 这是一个可选的最佳实践，可以为你提供更好的 TypeScript 类型提示。
 */
type Events = {
  // 事件名: 'view-order-detail', 载荷类型: number (订单 ID)
  'view-order-detail': number;

  // 你未来可以添加更多的全局事件
  // 'user-logged-out': void;
  // 'theme-changed': 'dark' | 'light';
};

/**
 * 创建一个全局事件总线实例。
 * 通过 mitt<Events>()，我们让这个实例遵循上面定义的事件类型规范。
 */
const bus = mitt<Events>();

// 默认导出这个实例，以便在其他文件中使用
export default bus;
